#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/wait.h>
#include <unistd.h>
#include <signal.h>

void signal_process(int sign){
    printf("----signal %d----", sign);
}

int main(int argc, char const *argv[])
{
    // 定义信号集
    sigset_t sigs;
    sigemptyset(&sigs); // 清空信号集
    sigfillset(&sigs);
    // sigdelset(&sigs, SIGIO); // 去了SIGIO
    // 所有信号屏蔽
    sigprocmask(SIG_BLOCK, &sigs, NULL);  // 包含SIGIO... 信号，所有键盘按键无效

    // 注册信号处理函数
    signal(SIGSTOP, signal_process);  // ctrl+z
    signal(SIGQUIT, signal_process); // "ctrl+ \"
    signal(SIGINT, signal_process);  // ctrl+c
    while(1) sleep(1);
    return 0;
}
